package com.bt.lms.service;

import com.bt.lms.entity.page.Page;
import com.bt.lms.entity.Major;

import java.util.List;

/**
 * 专业服务接口
 *
 * @author 徐大永
 */
public interface MajorService {

    /**
     * 分页查询功能
     *
     * @param page 分页条件模型
     *                  每一页条数：
     *                  页码：
     * @return 分页模型
     * 每页多少条数据：
     * 总条数：
     * 页码：
     * 数据：（专业）
     */
    Page<Major> pagingQuery(Page<Major> page);

    /**
     * 查看专业详情功能
     *
     * @param id 要查看的专业id
     * @return 专业信息
     */
    Major detail(Long id);

    /**
     * 新增专业功能
     *
     * @param major 要添加的专业
     * @return 是否成功
     */
    boolean add(Major major);

    /**
     * 编辑专业功能
     *
     * @param major 编辑后的专业信息
     * @return 是否成功
     */
    boolean compile(Major major);

    /**
     * 删除专业功能
     *
     * @param id 要删除的专业id
     * @return 是否成功
     */
    boolean del(Long id);

    /**
     * 添加专业功能
     *
     * @param stuCenId 要添加专业的学习中心
     * @param majorId  要添加上的专业id*
     * @return 是否成功
     */
    boolean studyCenSetMajor(Long stuCenId, List<Long> majorId);

    /**
     * 启用专业
     *
     * @param majorId 专业id
     * @return 是否成功
     */
    boolean start(Long majorId);

    /**
     * 停用专业
     *
     * @param majorId 专业id
     * @return 是否成功
     */
    boolean stop(Long majorId);

}
